In the art of computer technology, it is typical to employ peripheral devices that are controlled by a separate bus controller. An example of this prior art technique is disclosed in U.S. Pat. No. 4,864,532 entitled SMALL COMPUTER SYSTEMS INTERFACE-DATA LINK PROCESSOR, assigned to the assignee hereof. In this prior art system a separate SCSI protocol controller was disclosed for use between a SCSI bus coupled to a plurality of disk drives and a data bus coupled to a host computer.
To meet the requirements for SCSI, high performance and simplicity of the peripheral devices are paramount. The widespread and growing acceptance of SCSI is largely a function of the combination of simplicity and the functionality it offers. SCSI is a bus architecture, and as such dictates a set of standard signal protocols. A bus can support up to eight separate addresses. The architecture allows for multiple host connections and peripheral devices to coexist on the same bus. With one host connected to the bus, the remaining seven addresses can be used to attach up to seven peripheral devices.
Most peripheral interfaces support a master/slave relationship, with the host as the master and the peripheral as the slave. This arrangement is satisfactory in the high end of the market where the complex disk subsystems include multiple controllers, multiple ports and multiple paths. However, these sophisticated devices are cost-prohibitive in the entry/medium computer system marketplace. SCSI can provide substantial functionality in this area because of its peer-to-peer design. Any device attached to a SCSI bus may either assume the role of the requestor of services or the supplier of services. A device may change its role whenever required. During any particular transaction the device requesting the service is called the initiator, while the device requested to provide the service is called the target. When two or more hosts are attached to a common bus, each has visibility to any attached peripheral.
All SCSI commands are high-level logical commands. This removes the requirement for initiators to "understand" the detailed operation of the targets. All bus data transfers are independent of the timing constraints of the peripheral devices. Data is transferred from the device buffers at bus speed rather than device speed.
Where the SCSI bus is adapted to transfer signals in a differential format (which is a majority of applications) and a single-ended device is coupled to the bus, then circuitry must be provided to convert back and forth between formats at a high rate of speed. Moreover, additional circuitry is required to determine the direction of signal flow and to control the conversion circuitry as well, all at a high rate of speed.